<?php

namespace App\Http\Model;

use Illuminate\Database\Eloquent\Model;

class Cate extends Model
{
    //此模型关联的数据表
    protected $table = 'category';
    //    表的主键
    public $primaryKey = 'cate_id';
    //不更新created_at  updated_at字段
    public $timestamps = false;
    public $guarded = [];

    // 将返回给控制器的分类数据排序+二级类缩进（样式设置）

    public function getTree()
    {
//        没有缩进关系的分类数据
       $cates =  $this->orderBy('cate_order','asc')->get();
       return  $this->changeTree($cates);
    }
//    将所有的分类数据根据层次关系添加相应的缩进
    public function changeTree($cate)
    {
        //定义一个变量，存放分类后的数据
        $arr = [];
        //遍历所有的分类
        foreach($cate as $k=>$v){
//            先找有所有的一级类
            if($v->cate_pid == 0){
                $cate[$k]['cate_names'] =  $cate[$k]['cate_name'];
                $arr[] = $cate[$k];
//                获取到此一级类下的二级类
                foreach($cate as $m=>$n){
//                    满足此条件的就是当前一级类下的二级类
                    if($cate[$k]['cate_id'] == $n['cate_pid']){
                       $n['cate_names'] = '|------'.$n['cate_name'];
                       $arr[] = $n;
                    }
                }
            }
        }
        return $arr;
    }
    //找关联模型
    public function article(){
        return $this->hasMany('App\Http\Model\Article','cate_id','cate_id');
    }
}
